import request from './request'

/**
 * 分页查询商品列表
 * @param {Object} params
 * @param {number} params.pageNum - 页码（从1开始）
 * @param {number} params.pageSize - 每页大小
 * @param {number} params.categoryId - 分类ID（可选，2=玩具用品，3=日常用品，4=医疗保健）
 * @param {string} params.category - 分类名称/关键词（可选，支持"狗粮"、"猫粮"等模糊查询）
 * @param {string} params.productName - 商品名称（可选，模糊查询）
 * @description 
 * - 狗粮查询：使用 category: '狗粮'（模糊查询商品名称包含"狗粮"）
 * - 猫粮查询：使用 category: '猫粮'（模糊查询商品名称包含"猫粮"）
 * - 其他分类：使用 categoryId（2=玩具，3=日用品，4=医疗保健）
 * @returns {Promise}
 */
export function getProductList (params) {
  return request({
    url: '/product/list',
    method: 'get',
    params
  })
}

/**
 * 获取商品详情
 * @param {number} id - 商品ID
 * @returns {Promise}
 */
export function getProductDetail (id) {
  return request({
    url: `/product/${id}`,
    method: 'get'
  })
}

/**
 * 创建商品（管理员）
 * @param {Object} data - 商品信息
 * @returns {Promise}
 */
export function createProduct (data) {
  return request({
    url: '/product/create',
    method: 'post',
    data
  })
}

/**
 * 更新商品（管理员）
 * @param {Object} data - 商品信息
 * @returns {Promise}
 */
export function updateProduct (data) {
  return request({
    url: '/product/update',
    method: 'put',
    data
  })
}

/**
 * 删除商品（管理员）
 * @param {number} id - 商品ID
 * @returns {Promise}
 */
export function deleteProduct (id) {
  return request({
    url: `/product/${id}`,
    method: 'delete'
  })
}